<div>
  <div class="d-flex justify-content-center bj">
    <div class="d-flex align-items-center login-content">
      <form [formGroup]="myForm" (ngSubmit)="onSubmit(myForm.value)">
        <h3 class="d-flex justify-content-center">用户登录</h3>
        <div class="form-group">
          <label for="userName">用户名</label>
          <input type="text" class="form-control" id="userName" aria-describedby="输入用户名" name="userName"
            formControlName="userName" [ngClass]="{'is-invalid':userName.invalid, 'is-valid':userName.valid}">
          <div class="valid-feedback">
            用户名格式正确!
          </div>
          <div class="invalid-feedback">
            <span *ngIf="userName.hasError('required')">用户名必须填写!</span>
            <span *ngIf="!userName.hasError('required') && userName.hasError('pattern')">用户名必须以zime开头！</span>
            <span
              *ngIf="!userName.hasError('required') && !userName.hasError('pattern') && !userName.hasError('minLength')">用户名长度必须大于6位!</span>
          </div>
        </div>
        <div class="form-group">
          <label for="password">密码</label>
          <input type="password" class="form-control" id="password" name="password" formControlName="password"
            [ngClass]="{'is-invalid':password.invalid, 'is-valid':password.valid}">
          <div class="valid-feedback">
            密码填写正确!
          </div>
          <div class="invalid-feedback">
            <span *ngIf="!password.hasError('minLength')">密码必须大于6位!</span>
          </div>
        </div>
        <button type="submit" class="btn btn-primary btn-block" (click)="login()">登录</button>
      </form>
    </div>
  </div>
</div>